#ifndef __XAP_H__
#define __XAP_H__

/**
  ******************************************************************************
  * @file           : xap.h
  * @brief          : Header for xap.cpp file.
  *                   This file contains the common defines of the application.
  * @author			: ac
  * @attention
  *
  *		Copyright (c) 2023 Technology Co., Ltd.
  *
  *******************************************************************************
  */

#include "xag_types.h"


#ifdef __cplusplus
extern "C"
{
#endif

/*
 * macro definition
 */



/*
 * enum and struction
 */

/* xlinkHS 0x80传输数据(返回) */
typedef struct _rtk_0x5B_Header
{
	/*
	 * 数据帧的头，当帧数据需要返回时，新协议Start为0x5B；老协议Start为0x5A
	 */
	XAG_U8 u8Start;

	/*
	 * 协议数据的所有字节之和
	 */
	XAG_U8 u8Checksum;

	/*
	 * Data项的长度
	 */
	XAG_U16 u16Length;

	/*
	 * 协议版本3.1.12**（老协议该字段为空）**
	 */
	XAG_U32 u32ProtocolVersion;

	/*
	 * 状态位，用于表示数据帧的状态
	 */
	XAG_U8 u8Status;

	/*
	 * 设备唯一ID，只有在设备向服务器发送数据时带有，其他时候省略
	 */
	//XAG_U8 u8Id[12];

	/*
	 * 协议功能指令
	 */
	XAG_U8 u8Cmd;

	/*
	 * Data项
	 */
	//XAG_U8 u8Data[0];
}__attribute__((packed)) Rtk_0x5B_Header_T;





/*
 * exported functions prototypes
 */ 
void analysis(unsigned char * pdata, int len);


#ifdef __cplusplus
}
#endif

#endif /* __XAP_H__ */

